## DESCRIPTION
## Integral calculus: volume of solids of revolution
## ENDDESCRIPTION

## KEYWORDS('Integrals', 'volume of solids of revolution')

## DBsubject('WeBWorK')
## DBchapter('WeBWorK Tutorial')
## DBsection('Fort Lewis Tutorial 2011')
## Date('10/20/2010')
## Author('Paul Pearson')
## Institution('Fort Lewis College')
## TitleText1('')
## EditionText1('')
## AuthorText1('')
## Section1('')
## Problem1('')


###############################
#  Initialization

DOCUMENT();

loadMacros(
"PGstandard.pl",
"MathObjects.pl",
"PGunion.pl",
"answerHints.pl",
"weightedGrader.pl",
);

TEXT(beginproblem());

install_weighted_grader();

$showPartialCorrectAnswers = 1;


################################
#  Setup
 
Context("Numeric");
Context()->variables->are(
x=>"Real", dx=>"Real",
y=>"Real", dy=>"Real"
);

$f = Compute("x");
$g = Compute("x^2");

$upper = Real("1");
$lower = Real("0");
# answers below are intentionally wrong
$int = Compute("( pi x - pi x^2 ) dx");
$vol = Compute("pi"); 

@weights = (5,5,40,50);

#
#  Display the answer blanks properly in different modes
#
Context()->texStrings;
if ($displayMode eq 'TeX') {
   $integral =
   'Volume = \(\displaystyle' . 
     '\int_{'. 
     NAMED_ANS_RULE("lowerlimit",4). '}^{'. 
     NAMED_ANS_RULE("upperlimit",4). '}'. 
     NAMED_ANS_RULE("integrand",30). ' = '.
     NAMED_ANS_RULE("volume",10). 
   '\)';
  } else {
   $integral =
   BeginTable(center=>0).
     Row([
       'Volume = \(\displaystyle\int\)',
       NAMED_ANS_RULE("upperlimit",4).$BR.$BR.
       NAMED_ANS_RULE("lowerlimit",4),
       NAMED_ANS_RULE("integrand",30).$SPACE.' = '.$SPACE.
       NAMED_ANS_RULE("volume",10),
     ],separation=>2).
   EndTable();
}
Context()->normalStrings;


#####################################
#  Main text

Context()->texStrings;
BEGIN_TEXT
Set up and evaluate an integral for the volume
of the solid of revolution obtained by rotating
the region bounded by \( y = $f \) and \( y = $g \)
about the \(x\)-axis.
$BR
$BR
$integral
END_TEXT
TEXT(MODES(TeX=>"",HTML=>
"${PAR}${BITALIC}${BBOLD}Note:${EBOLD} 
You can earn 
$weights[0]${PERCENT} for the upper limit of integration,
$weights[1]${PERCENT} for the lower limit of integration,
$weights[2]${PERCENT} for the integrand, and
$weights[3]${PERCENT} for the finding the volume.
${EITALIC}"));
Context()->normalStrings;


#####################################
#  Answer Evaluation


NAMED_WEIGHTED_ANS( "upperlimit" => $upper->cmp(), $weights[0] );
NAMED_WEIGHTED_ANS( "lowerlimit" => $lower->cmp(), $weights[1] );
NAMED_WEIGHTED_ANS( "integrand" =>  $int->cmp()
->withPostFilter(AnswerHints( 
  Formula("pi x - pi x^2 dx") => "Don't forget to multiply every 
                                  term in the integrand by dx",
  Formula("pi x - pi x^2") => "Don't forget the differential dx", 
  Formula("(pi x^2 - pi x)*dx") => "Is the parabola above the line?",
  Formula("pi x^2 - pi x") => "Is the parabola above the line?",
)),
$weights[2]
);
NAMED_WEIGHTED_ANS( "volume" => $vol->cmp(), $weights[3] );


#####################################
#  Solution

Context()->texStrings;
BEGIN_SOLUTION
${PAR}SOLUTION:${PAR}
Solution explanation goes here.
END_SOLUTION
Context()->normalStrings;


COMMENT('MathObject version.  Weights each answer blank separately.');

ENDDOCUMENT();